package br.com.ss.seguranca.controller;

import java.util.List;

import javax.faces.bean.ManagedBean;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import br.com.ss.seguranca.model.dao.UsuarioPerfilDAO;
import br.com.ss.seguranca.model.entity.Sistema;
import br.com.ss.seguranca.model.entity.Usuario;
import br.com.ss.seguranca.model.entity.UsuarioPerfil;

@Component("usuarioPerfilHome")
@ManagedBean(name = "usuarioPerfilHome")
public class UsuarioPerfilHome {

	private static final Logger logger = LoggerFactory
			.getLogger(UsuarioPerfilHome.class);

	private Sistema sistema = new Sistema();
	private Sistema selected = new Sistema();
	private List<Sistema> sistemas;
	private List<UsuarioPerfil> usuarioPerfils;

	@Autowired
	private UsuarioPerfilDAO UsuarioPerfilDAO;

	public String getMessage() {
		logger.debug("Returning message from sistema home bean");
		return "Hello from Spring";
	}

	public Sistema getSistema() {
		return sistema;
	}

	public String edit() {
		System.out.println(sistema.toString());
		sistema = this.selected;
		this.selected = new Sistema();
		return "edit";
	}

	public String clean() {
		this.sistema = new Sistema();
		return "edit";
	}

	private void invalidateSistemas() {
		sistemas = null;
	}

	public List<UsuarioPerfil> getSistemas(Usuario usuario) {
		usuarioPerfils = UsuarioPerfilDAO.listPerfilPorUsuario(usuario);
		return usuarioPerfils;

	}

	public Sistema getSelected() {
		return selected;
	}

	public void setSelected(Sistema selected) {
		this.selected = selected;
	}

	public void setSistema(Sistema sistema) {
		this.sistema = sistema;
	}

	public void setSistemas(List<Sistema> sistemas) {
		this.sistemas = sistemas;
	}
}
